The continuing improvements in semiconductor fabrication techniques have made possible the rapid evolution of computer systems. In addition to providing significantly more powerful computer systems, the variety of computing hardware and software available to the average computer user has also increased substantially and is expected to increase further. While these improvements have greatly increased the utility of computers, they have made it difficult for the average user to configure and maintain an up-to-date system.
The demand for computer technology has shifted from systems expertise to information expertise. Although users' demands for computer systems continue to increase, this demand is emphasizing greater user friendliness and application portability. Users want to spend more time understanding business information and less time understanding system complexities. However, system complexity continues to increase as global markets and competition compel the management of worldwide information. Thus users find themselves in a dilemma: they want increasingly diverse information from increasingly complex computer systems, but these systems require sophisticated configuration skills that the user does not want to acquire.
To take advantage of the improvements, the computer user must update his or her system hardware and software on almost an annual basis. While some of these updates may be performed by changing a few components or adding new versions of existing programs, many of the hardware advances may only be fully utilized by replacing the entire computer system. The typical individual user computer system consists of a power supply, a keyboard, a monitor, and a chassis in which a motherboard is mounted together with one or more peripheral cards. The motherboard includes the central processing unit, memory, and bus structure over which the peripheral cards communicate with the central processing unit. Simple upgrades such as increasing the memory capacity of the system can be performed by adding memory chips to sockets on the motherboard and changing the configuration information to allow this memory to be utilized.
However, major improvements typically require the motherboard to be replaced. The motherboards are typically configured for some maximum hardware configuration and operating speed. Major hardware improvements often require that the motherboard operate at a speed in excess of that for which it was designed. Furthermore, new generations of computing hardware often require bus structures that differ from that on existing motherboards.
The typical computer user is not technically competent to make such hardware modifications. In fact, the typical computer user has great difficulty making even minor upgrades such as adding memory chips to his or her system. As a result, the user often postpones upgrading his or her system until improvements in technology justify replacing the entire computer. As a result, the rate at which new improvements penetrate the computer market is reduced. In addition, the cost of upgrading a system is increased, because the entire system including the computer enclosures and power supplies is replaced instead of merely replacing the components in need of upgrading.
The process of upgrading computer systems is further complicated by the need to reload and reconfigure the computer software whenever a major system upgrade is performed. The process of reconfiguring the software, while being somewhat less complicated than performing major system upgrades, also requires a level of competence beyond that of the typical computer user. The variety of hardware platforms on which any given piece of software may be required to operate is too large for software manufacturers to provide software versions that are optimally tuned for each platform. In addition, the software manufacturer must assume that the platform may change during the life of the software, as some users will modify the hardware with upgrades. To alleviate this problem, software manufacturers tend to compromise software performance to obtain systems that are capable of running on a large variety of hardware configurations without requiring extensive configuration by the end user.
The advances in semiconductor technology have also made possible the introduction of special purpose computing hardware that provides even greater improvements in speed and cost effectiveness for certain types of problems. For example, parallel processing techniques may be used to substantially increase the speed of searching in database operations, provided the database software has been configured to take advantage of this type of processing. To fully take advantage of such special purpose hardware, the user must have access to different computing platforms for different types of problems. This significantly increases the cost and complexity of the computer environment. As a result, the potential advantages of such special purpose hardware have not been realized in practice.
The extent to which computers have permeated the workplace places a special burden on individuals who must perform their work in a number of different geographic locations. The data utilized by these users can be transported conveniently over network connections or via portable disk cartridges. Unfortunately, light-weight portable computing platforms with all the features of normal desktop computers have not yet become cost effective for many applications. Hence, the traveling user must often maintain computers at two or more physical locations. The problems of assuring that the computer hardware at one location remains compatible with that at the other locations places an added burden on such traveling computer users.
Broadly, it is the object of the present invention to provide an improved computer system.
It is another object of the present invention to simplify the hardware and software configurations of computer systems.
It is a further object of the present invention to provide a computer system in which the hardware and software may be upgraded without requiring the computer user to alter hardware or perform on site configuration of the hardware or software.
It is yet another object of the present invention to provide a computer system that may be more easily transported between physical locations than prior art portable computer systems.
It is a still further object of the present invention to provide a computer system that provides the user with access to special purpose computing hardware in those applications that would benefit from such hardware.
These and other objects of the present invention will become apparent to those skilled in the art from the following detailed description of the invention and the accompanying drawings.